数据处理技巧(8):MATLAB读取txt文本数据并转换成列向量

您所在的位置:网站首页 matlab 按行读取文本文件 数据处理技巧(8):MATLAB读取txt文本数据并转换成列向量

数据处理技巧(8):MATLAB读取txt文本数据并转换成列向量

2024-05-31 00:22| 来源: 网络整理| 查看: 265

MATLAB读取txt文本数据并转换成列向量 1. 目标:2. 处理步骤① 将逗号替换成空格②补齐数据③ MATLAB程序④运行查看结果 3. 相关链接

1. 目标:

需要把txt中的数据以列向量的形式保存到excel表格中。

Txt中的数据如下

观察数据特点,一共有4行,9列,其中第4行只有6个数据 在这里插入图片描述

生成文件 需要转换成列向量,保存在excel表格中,生成excel文件如下

2. 处理步骤 ① 将逗号替换成空格

选择“编辑”->“替换”, “查找内容”输入逗号,要根据文档中的格式输入英文逗号或者中文逗号, “替换为”输入空格“ ” 点击“全部替换” 在这里插入图片描述 替换结果为 在这里插入图片描述 再删去标题文字,成为全部数据的文本 在这里插入图片描述

②补齐数据

因为以每行固定个数读取数据更方便,所以要固定,比如该文档固定每一行读取9个整数,一共读取4行。 那么,由于最后一行只有6个数据,需要凑齐9个,所以在第4行的末尾增加三个数 “0 0 0”,注意输入的是,0空格0空格0 在这里插入图片描述

③ MATLAB程序

在这里插入图片描述

%% test221028.txt % 先把txt中,所有的英文式","替换成空格" " % 然后修改参数,补齐固定行,固定列,再运行 % 读取结点坐标,保存在 NodeCoor 数组当中,共4行9列 clear; filename = 'test221028.txt'; % 记录文件路径 fileID = fopen(filename); % 打开该路径文件 CellInput = textscan(fileID,'%d %d %d %d %d %d %d %d %d'); % 按照设置的格式,每行9个整数,读取列 fclose(fileID); % 关闭该路径文件 row = 4; %行数 col = 9; %列数 NodeCoor = zeros(row,col); % 创建一个数组,用来存储坐标 for i_cycle = 1:col %1:列数 NodeInfo = CellInput(1,i_cycle); % 将cell中的第2~4列,也就是所有点的索引提取出来 NodeCoor(:,i_cycle) = cell2mat(NodeInfo); % 赋值给数组 end NodeCoor2 = zeros(row*col,1); % 全部转为一列 for i=1:row for j = 1:col index2 = (i-1)*col+j; NodeCoor2(index2)=NodeCoor(i,j); end end save 'test221028.mat' NodeCoor2; clear; % 保存后清空工作区 ④运行查看结果

点击运行 ,在当前文件夹一栏,可以看到生成的“test221028.mat“文件,双击打开 在这里插入图片描述 在这里插入图片描述 命令输出行显示已加载该文件 在这里插入图片描述 就可以看到变成列向量的数据了,最后补齐的三个0可以给它删除,然后新建一个excel表格,将mat的列向量复制进去即可。 左图,mat列向量。右图复制到excel的效果 在这里插入图片描述在这里插入图片描述

3. 相关链接

数据处理技巧(7):MATLAB 读取数字字符串混杂的文本文件txt中的数据 数据处理技巧(5):MATLAB 读取txt中的数据



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3